
/**
 * @param msg 消息
 * @pram success 成功回调方法
 * */
export const showToast = (msg, success) => {
  wx.showToast({
    title: msg,
    icon: 'none',
    success: success
  });
};

/**
 * 设置背景颜色
 * @param val
 * */ 
export const setNavBg = (val)=>{
  wx.setBackgroundColor({
    backgroundColor: val, // 窗口的背景色为白色
    backgroundColorTop: val,
    backgroundColorBottom: val
  })

}


/**
 * 设置页面导航条颜色
 * @param color 
 * */
export const setNavColor = (color)=>{
  wx.setNavigationBarColor({
    frontColor: '#ffffff',
    backgroundColor: color
  })
}

/**
 * @explain obj 对象
 * @param url 上传链接
 * @param filePath 上传文件(数组类型)
 * @param filePathName filePath的指定名（指定字段）
 * @param name
 * @param success 上传成功回调方法
 * @param fail 失败回调方法
 * @param complete 上传完成回调方法
 * @param formData 参数
 * */
export const uploadFile = (obj) => {
  let fileNum = 0,
    successUp = 0,
    failUp = 0;

  let startUploadFile = (obj) => {
    wx.showLoading({
      title: '上传图片中...',
      mask: true
    });
    if (obj.filePath.length > 0) {

      wx.uploadFile({
        url: obj.url,
        filePath: obj.filePath[fileNum][obj.filePathName] || obj.filePath[fileNum],
        name: obj.name,
        header: obj.header,
        formData: typeof obj.formData === 'function' ? obj.formData(fileNum) : obj.formData,
        success: function(res) {

          successUp++;
          typeof obj.success === 'function' && obj.success(res, fileNum);

        },
        fail(res) {

          failUp++;
          showToast('总共' + failUp + '张上传失败！');
          typeof obj.fail === 'function' && obj.fail(res);

        },
        complete(res) {
          fileNum++;
          if (fileNum < obj.filePath.length) {

            startUploadFile(obj, fileNum, successUp, failUp);

          } else if (fileNum == obj.filePath.length) {

            wx.hideLoading();
            typeof obj.complete === 'function' && obj.complete(res);
          }
        }
      });

    }
  }
  startUploadFile(obj);
}


/**
 * 检验手机号
 * @param val
 * */ 
export const checkPhone = (val) => {
  if ((/^1[345789]\d{9}$/.test(val))) {
    return true;
  }else{
    return false
  }
}

/**
 * 检验密码 (8~20位)
 * @param val
 * */ 
export const checkPwd = (val) => {
  if ((/^(?=.*[a-z A-Z])(?=.*\d)[^]{8,20}$/.test(val))) {
    return true;
  }else{
    return false
  }
}

/**
 * 解析url参数
 * @parma path
 * */ 
export const getUrlParams = (path) => {
  let url = path; //获取path中"?"符后的字串  
  let theRequest = new Object();
  
  if(url){
    if (url.indexOf("?") != -1) {
      let str = url.replace(/\?/, '&');
      let strs = str.split("&");

      for (let i = 1; i < strs.length; i++) {
        theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
      }
    }
    return theRequest;  
  }
}